package com.cn.wanxi.service;

import com.cn.wanxi.dao.NavDao;
import com.cn.wanxi.model.NavModel;

import java.util.ArrayList;
import java.util.List;

public interface NavService {
    List<NavModel> getNavModelList();

//    /**
//     * 返回导航数据
//     *
//     * @return
//     */
//    public NavModel[] getNavArray() {
//        NavModel[] navArray = new NavModel[6];
//
////        navDao.setTitles();
////        NavModel model = new NavModel();
////        model.setHref(navDao.hrefs[0]);
////        model.setTitle(navDao.titles[0]);
////        navArray[0] = model;
//
////
////        NavModel model1 = new NavModel();
////        model1.setHref(navDao.hrefs[1]);
////        model1.setTitle(navDao.titles[1]);
////        navArray[1] = model1;
//
//
////        如果代码差不多，就会想到封装
////        因为这里是六个对象 ，所以这里需要写六次，代码量非常大。所以这里引入java语法  for
////以后写代码的时候，代码里面不要出现固定数字，魔法数字
//        NavDao navDao = new NavDao();//对象实例化
//        int leng = navDao.hrefs.length;
//        String[] hrefs = navDao.hrefs;
//        String[] titles = navDao.titles;
//        for (int i = 0; i < leng; i++) {
//            NavModel model = new NavModel();
//            model.setHref(hrefs[i]);
//            model.setTitle(titles[i]);
//            navArray[i] = model;
//        }
//        return navArray;
//    }
//
////    private static NavDao navDao = new NavDao();
//
////    public NavService() {
////        System.out.println("NavService");
////    }
////
////    {
////        System.out.println("NavService代码块");
////    }
////
////    static {
////        System.out.println("NavServicestatic代码块");
////    }
//
//    public static void main(String[] args) {
//        new NavService().getNavArray();
////        静态代码块只要加载的时候会执行
////        new NavService();
//        /**
//         * 方法的执行顺序
//         * 1.永远static先执行
//         * 2.如果当前类有几个static的时候，按住先后顺序执行
//         * 3.先执行属性里面有引用类型的方法
//         * 4.静态代码块比代码块先执行
//         * 5.静态代码块在加载类的时候执行
//         * 6.代码块和构造方法是在调用类的执行
//         * 7.代码块比构造方法先执行
//         *
//         * 静态代码块 ----代码块----构造方法
//         */
//    }
//
//    public List<NavModel> getNavModelList() {
////        用到借口：接口的目的：作用什么？实现多态
////灵活性更高
////        数组和集合之间的区别？
//        List<NavModel> navModelList = new ArrayList<>();
//        NavDao navDao = new NavDao();//对象实例化
//        int leng = navDao.hrefsList.size();//如果是数组，长度用length，如果是集合用size
//
//        List<String> hrefs = navDao.hrefsList;
//        String[] titles = navDao.titles;
//        for (int i = 0; i < leng; i++) {
//            NavModel model = new NavModel();
//            model.setHref(hrefs.get(i));
//            model.setTitle(titles[i]);
//            navModelList.add(model);
//        }
//
//        return navModelList;
//    }
}
